# This file is a part of the open-eBackup project.
# This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
# If a copy of the MPL was not distributed with this file, You can obtain one at
# http://mozilla.org/MPL/2.0/.
#
# Copyright (c) [2024] Huawei Technologies Co.,Ltd.
#
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
from app.base.db_base import database
from app.resource.models.rbac_models import UserDomainTable
from app.common.logger import get_logger

log = get_logger(__name__)


def get_domain_id_by_user_id(user_id: str):
    with database.session() as session:
        user_domain = session.query(UserDomainTable.domain_id).filter(
            UserDomainTable.user_id == user_id).first()
        if user_domain:
            log.info(f'get user domain list:{user_domain} by user id :{user_id}')
            return user_domain.domain_id
        log.warning(f'current user : {user_id} not have any domain list!')
        return None
